From 07b55ea54a3d258c59e4f15ba10dfc70ccec244e Mon Sep 17 00:00:00 2001 From: Ewan Mellor Date: Fri, 23 Mar 2007 11:52:09 +0000 Subject: [PATCH] Return an error when a schedule-setting call fails. Signed-off-by: Masaki Kanno --- xen/common/schedule.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xen/common/schedule.c b/xen/common/schedule.c index f78319e381..c361261ae7 100644 --- a/xen/common/schedule.c +++ b/xen/common/schedule.c @@ -524,6 +524,7 @@ int sched_id(void) long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op) { struct vcpu *v; + long ret; if ( (op->sched_id != ops.sched_id) || ((op->cmd != XEN_DOMCTL_SCHEDOP_putinfo) && @@ -552,8 +553,8 @@ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op) if ( d == current->domain ) vcpu_schedule_lock_irq(current); - SCHED_OP(adjust, d, op); - TRACE_1D(TRC_SCHED_ADJDOM, d->domain_id); + if ( (ret = SCHED_OP(adjust, d, op)) == 0 ) + TRACE_1D(TRC_SCHED_ADJDOM, d->domain_id); if ( d == current->domain ) vcpu_schedule_unlock_irq(current); @@ -564,7 +565,7 @@ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op) vcpu_unpause(v); } - return 0; + return ret; } static void vcpu_periodic_timer_work(struct vcpu *v) -- 2.30.2